Servomotor velocity control system

ABSTRACT

A servomotor velocity control system has an estimating unit (4) for obtaining an estimated value (V) of velocity based on rotary encoder position information (θ), which includes a current (I L ) indicative of load torque, and motor current (I) of a servomotor (5). The system is adapted to obtain a torque command signal (U) based on the estimated value (V) of velocity and a velocity comman signal (V c ).

BACKGROUND OF THE INVENTION Field of the Invention

This invention relates to a system for controlling the velocity of a servomotor used in a machine tool, an industrial robot and the like.

SUMMARY OF THE INVENTION

When subjecting the velocity of a servomotor to feedback control, it is necessary to sense the actual velocity of the motor. An example of conventional means for sensing actual velocity is a rotary encoder for sensing position. The rotary encoder is adapted to generate from several thousand to 20,000 pulses per revolution of the motor, the frequency of these output pulses being proportional to the rotational velocity of the motor.

With a rotary encoder, however, the spacing between adjacent pulses becomes very wide and the pulses become discrete in nature, especially when the motor rotates at a low velocity. When these pulses are used as motor rotation information, irregular rotation is the result.

Thus, when it is attempted to employ a rotary encoder used for sensing position as means for sensing velocity, velocity resolution is poor in comparison with an analog sensor. For this reason, highly precise, smooth velocity control cannot be carried out.

DISCLOSURE OF THE INVENTION

An object of the present invention is to provide a servomotor velocity control system, in which when velocity is estimated by an estimating unit based on position information from a rotary encoder mounted on a servomotor, load torque, which is a cause of a steady-state estimating error, is estimated at the same time to enable smooth, highly precise velocity control.

According to the present invention, there is provided a servomotor velocity control system in which position information from a rotary encoder mounted on a servomotor driving a mechanical load is fed back and a torque command signal is produced for application to the servomotor. The system has an estimating unit for obtaining an estimated value of velocity of the servomotor based on position information from the rotary encoder, motor current of the servomotor and a load torque signal, and arithmetic means for calculating the torque command signal based on the estimated value of velocity outputted by the estimating unit and a velocity command signal.

In a case where the velocity of the servomotor is estimated by the estimating unit based on the position information from the rotary encoder, the servomotor velocity control system of the invention obtains the estimated value of velocity upon taking load torque, which is a cause of a steady-state estimating error, into account. This eliminates the shortcoming of the prior art, wherein the pulses from the rotary encoder become discrete when the servomotor is rotating at low velocity. This makes it possible to obtain a suitably interpolated value of estimated velocity and to control velocity in a highly accurate manner.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a velocity control system according to the invention.

FIG. 2(a) is a view illustrating a motor current loop processing level;

FIG. 2(b) is a view illustrating a velocity processing level;

FIG. 3 is a flowchart illustrating observer processing at a motor current loop level; and

FIG. 4 is a flowchart illustrating velocity loop processing.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention will now be described in detail based on an embodiment illustrated in the drawings.

FIG. 1 is a block diagram of a velocity control system according to the present invention. Numerals 1 through 3 denote arithmetic units, 4 an estimating unit, namely an observer, and 5 a servomotor. V_(c) represents a velocity command, U a torque command, I motor current and I_(L) current indicative of a load torque. V represents the velocity of the servomotor, θ position, k₁ integration gain, k₂ feedback gain, K_(m) a motor constant, and T_(m) a ratio between L_(a) and R_(a), namely the value of L_(a) /R_(a), where R_(a) denotes motor winding resistance and L_(a) represents inductance. Further, K_(t) is a torque constant, J stands for the total inertia of the load and motor, and K_(p) is a conversion coefficient decided by the rotary encoder. S represents d/dt. Further, the estimating unit per se is one commonly in use. An arrangement in which a velocity sensor is combined with the estimating unit has been proposed in Japanese Patent Application No. 59-55114.

The operation of the velocity control system according to the invention will now be described.

First, the arithmetic unit 1 produces an output indicative of the difference between the velocity command V_(c) and an estimated value V of velocity, described below. The output signal is integrated and then applied to the arithmetic unit 2. The result of multiplying the estimated value V of velocity, described below, by the feedback gain k₂ is applied to the arithmetic unit 2, which outputs the difference between its two input signals as the torque command U, by which the motor 5 is controlled. The velocity of the motor 5 is outputted as V, and position θ is sensed by a rotary encoder. The information indicative of the position θ includes the results of adding the current I_(L), which is indicative of the load torque (Coulomb friction), at the arithmetic unit 3.

In the present invention, the estimated value of velocity is obtained by using the estimating unit, namely the observer 4. At this time the load torque, which is a cause of a steady-state estimating error, is estimated simultaneously. Specifically, the position information θ, which takes into account the motor current I and the current I_(L) indicative of load torque, is applied to the estimating unit 4, which proceeds to output the estimated value V of velocity.

Let us describe this point in detail. If an identity observer is constructed for the motor current I, motor velocity V, position θ and current I_(L) ascribable to torque, we will have ##EQU1##

What are actually sensed and applied to the estimating unit, namely the observer 4, are the motor current I and position θ. An identity observer for digital processing is as follows: ##EQU2## where T is a sampling period and λ₁, λ₂, λ₃ are observer poles, which are decided by the number of convergence steps necessary.

In order to process the above by a microprocessor, the observer is implemented by the following algorithm: ##EQU3##

FIG. 2 is a view useful in describing information processing for obtaining the predicted velocity V. FIG. 2(a) is a view illustrating the processing level (j) of a motor current loop, and FIG. 2(b) is for describing a velocity processing level.

The observer 4 is equipped with a hardware counter for integrating a number of pulses Δθ which arrive from the rotary encoder in the sampling time period T. In this case, it is assumed that observer poles λ₁, λ₂, λ₃, which will bring an estimating error to zero in five steps, are calculated and given in advance.

FIG. 3 illustrates a flowchart of processing performed by the observer at the motor current loop processing level. FIG. 4 illustrates a flowchart of velocity loop processing.

First, with regard to the motor current loop, the observer 4 reads in position information Δθj and motor current I_(m). Next, these are integrated. Then, based on Eq. (1), the observer 4 calculates position estimation information Δθ_(m+1), velocity estimation information V_(m+1) and current estimation information I_(Lm+1) indicative of load. When the observer 4 has performed this processing for the fifth time, the velocity estimation information V_(m+1) is delivered to a velocity processing program. This relationship is evident from FIGS. 2(a) and 2(b).

Next, in velocity loop processing as indicated by the flowchart of FIG. 4, the observer 4 first reads in velocity commands V_(5m) and then integrates them. Next, the observer 4 multiplies the integrated value by the integration gain k₁ and subtracts from this product the product of velocity estimation information V_(5m) and feedback gain k₂, thereby obtaining the torque command U_(5m).

Thus, according to the present embodiment, the estimating unit 4 obtains the estimated value V of velocity based on the position signal from the rotary encoder, which signal is inclusive of the current I_(L) indicating load torque, and the motor current I of servomotor 5. This solves the shortcoming of the prior art, wherein the pulses become discrete in nature, as when the motor is rotated at a low velocity, and makes it possible to obtain a value of estimated velocity that is suitably interpolated. In other words, since load torque, which causes a steady-state estimating error, can be estimated simultaneously, smooth, highly precise velocity control can be carried out even while employing a digital control system that exhibits a velocity resolution poorer than that of an analog control system.

Though the present invention has been described based on the illustrated embodiment, the invention is not limited solely to the embodiment but can be modified in various ways in accordance with the gist of the invention, such modifications being within the scope of the claims.

As set forth above, the present invention makes possible highly precise velocity control even at a low servomotor velocity. The invention is particularly well-suited to velocity control of servomotors for operating a machine tool bed or industrial robot, which require to be controlled in a precise manner. 

We claim:
 1. A servometer velocity control system in which a position signal from a rotary encoder mounted on a servomotor driving a mechanical load is fed back and a torque command signal is produced for application to the servomotor, the system comprising:an estimating unit for obtaining an estimated value of velocity of the servomotor based on the position signal from the rotary encoder, motor current of the servomotor and a load torque signal, and arithmetic means for calculating the torque command signal based on the estimated value of velocity outputted by said estimating unit and a velocity command signal.
 2. A servometer velocity control system according to claim 1, wherein the position signal from the rotary encoder includes the load torque signal.
 3. A servometer velocity control system according to claim 1, wherein said arithmetic means has a first arithmetic unit for calculating a difference between the velocity command signal and the estimated value of velocity, and a second arithmetic unit for outputting the torque command signal based on an output value from said first arithmetic unit and the estimated value of velocity. 